基于Eclipse的TI集成开发环境IDE-CCSv5使用教程

| 您好，欢迎来到61ic！ | | [登录] | [注册] | 忘记密码 | | 设为首页 | 帮助

. 网站首页 . 业界新闻 . 设计中心 . 移动技术 . TI专栏 . ADI专栏 . FPGA专栏 . 代码工厂 . 官方商城 .
. 活动专区 . 新品快递 . 解决方案 . 前沿科技 . TI资源 . ADI资源 . FPGA资源 . 下载中心 . 产品展示 .

| 加入收藏
| 付款方式
| 联系我们

| 您现在的位置： 61IC电子在线 >> TI专栏 >> TI CCS >> 参考经验 >> 正文

| [组图]基于Eclipse的TI集成开发环境IDE-CCSv5使用教程 | 热 ★★★ | 【字体：小 大】

基于Eclipse的TI集成开发环境IDE-CCSv5使用教程
作者：nouth 文章来源：nouth 点击数： 更新时间：2012-5-16

TI嵌入式处理器的集成开发环境(IDE)包括调试器，编译器，编辑器，DSP/BIOS操作系统等等,现在最新的CCSv5 IDE基于Eclipse开源软件框架(v4+)并融合了TI设备的支持与功能，适用于windows和linux环境下开发，CCSv5是基于原版的 Eclipse，并且TI将直接向开源社区提交改进，用户可以随意的将各种其他厂商的Eclipse插件或TI的工具拖放到现有的Eclipse环境，用户可以享受到Eclipse中所有最新的改进所带来的便利，CCSv5(CCSv5.1 CCSv5.2 CCSv5.0)还集成额外的工具，包括 操作系统的应用程序开发工具（Linux操作系统，Android的...）以及 代码分析、源代码控制等。本文介绍了TI的IDE集成开发环境CCSv5的基本特点，相对于CCSv3.3和CCSv4的改进和提升，其Eclipse各种视图环境、Target configuration的和debug session视图方法和GEL、DSS脚本工具的使用方法。

CCSv5的两个版本：

? v5.0不是为了替代CCSv4，主要针对需要在设备上运行Linux的用户与多核C6000的用户，增加了一些在CCSv4上没有的Linux的调试功能，现已被CCSv5.1取代，不再提供技术支持。

? v5.1针对CCSv4的替换版，面向所有用户，支持Windows和Linux，注意，并非所有的仿真器（emulator）有Linux版支持，SD DSK / EVM板载仿真器，XDS560 PCI没有支持，大多数的大多数的USB / LAN仿真器将被支持，XDS100，SD510USB/USB+，560v2，BH560m/bp/lan等都在两个平台上有所支持，具体可以参考 HTTP://processors.wiki.ti.com/index.php/Linux_Host_Support

图1. TI IDE开发环境CCS的开发进展视图

CCSv5的改进：

用户对于CCSv4的反馈包括需要更小的镜像，CCS DVD映像太大（下载> 1GB，安装4GB），需要更快的启动时间和调试器的响应速度，CCS比较迟缓，需要更简易，即安排好用户界面。CCSv5.1下载大小是1.2GB，并且CCSv5.1使用动态下载，根据用户的选择，相应的软件包将被下载并自动安装，用户可以在以后添加更多的功能或者用户可以选择下载完整的DVD映像，CCSv5.1还加快常用任务，包括启动CCS、启动调试会话(Debug Session)、创建一个新项目（良好的初始体验），CCSv5.1提高了响应速度，包括单步(Stepping)（在各种视图打开的状态下）、并划分了运行模式并可以切换。在实时模式下，表达式 （Expressions） 和绘图（Graph）视图的连续刷新、存储目标配置（Target Configuration）以及加载/烧录程序于闪存，而在简易模式下 默认情况下，CCS将打开简单/基本模式，简化菜单选项，工具栏按钮的用户界面， TI提供的编辑(CCS Edit)和调试(CCS Debug)透视图（perspective），简化构建选项（build options）。高级模式下可以使用默认的Eclipse透视图（perspective）、非常类似于CCSv4、推荐给会添加其它Eclipse插件到IDE的用户使用。

CCSv5的常用功能包括如下1).创建新项目，能非常简单的使用模板创建对应任意设备的新项目；2).构建选项(build options)，选项升级需基于编译器版本而不是CCS由更新；3).共享项目,使用户更轻松地共享项目，包括版本控制的使用（可移植项目），设置链接资源的过程需要进行简化4).帮助和文档更方便，可以很容易地从IDE内部访问产品的帮助系统并且Eclipse和TI的帮助必须进行综合，包括一个很好的教程，基于任务的帮助，Flash视频的链接，改良的欢迎屏幕。

CCS5.1 的更新与改进

1).Eclipse

- 更新的Eclipse及CDT (C/C++ Development Tooling)

- 使用"原版"的Eclipse和CDT, CCSv5.1使用的Eclipse3.7，CCSv4使用Eclipse3.2, 编辑器，检索器(Editor/Indexer)改善

– 拖放支持

– 支持在链接文件时使用宏（可移植项目）

– 动态语法检查

– 从Eclipse内搜索插件

– 警告和错误在控制台的输出上更明显

2).提升可用性

- 透视图(Perspectives)

- 视图(Views)

- 创建项目

- 使用链接资源(Linked Resources)

3) 项目管理的变化

4)调试器的变化

5). Linux支持

- Linux主机(host)支持

- 支持Linux调试（内核/应用）

5).Multi-core多内核调试

6).系统分析器（ System Analyzer ）

图2. 简化的透视图（Perspectives） – CCS Edit

简化的视图 – 调试视图（Debug View）：清爽，简洁，更多自定义选项，没有额外的"线程"节点，没有"CIO/目标"(CIO/target)错误节点，"项目/目标配置"(Project / Target Configuration )节点下直接显示多个CPU设备，可以自定义选择显示更多JTAG的层次结构，可以收合到单行来优化屏幕空间 （"面包屑"模式）

图3. 简化的视图 – 调试视图（Debug View）

简化新项目向导 – 一页完成

指定一个特定的设备型号和连接类型，向导将会自动创建目标配置文件

图4. 新项目创建向导页面

图5. 链接源文件到项目

资源管理器 - 教程

视图: CCSv5 的变化

? 断点(Breakpoint)：

– 取消了在试图内列的就地编辑（使用断点属性页）

– 过滤视图，只显示当前调试上下文 （debug context）的断点

– 与调试视图链接： 突出显示当前调试上下文中，目前已经到达了的断点

? 寄存器(Register)：

– 无"网格"(Grid)模式的支持

? 变量(Variables)（V4 - > Local （本地））和表达式(Expressions)（V4 - > Watch（观察））：

– 这些视图已被重命名为标准的Eclipse名称

– 在表达式视图"添加全局变量"(Add global variables)的功能

– 表达式格式(Hex, Dec, Bin, Char)可以在视图级别调整

– 默认值因类型而定

? 反汇编(Disassembly)

– 无反汇编显示风格上的变化支持

– 可选择链接到激活的调试上下文：更新视图到当前调试上下文的地址

? 按照堆栈帧

– 跟踪表达式

? 控制台(Console)

– 不支持从控制台运行GEL命令（使用脚本控制台）

– 有一个可选 CI / O控制台对应所有CPU （多核调试）

项目管理的变化

? "激活的项目"(Active project) 是选定的项目上下文

– 在"项目资源管理器"(Project Explorer)点击另一个项目会自动将其变为"Active project"

– 在没有选定的项目上下文的情况下点击"调试"(Debug)按钮，将会开启最后一个被调试

的项目的调试会话

? 在项目级别管理链接资源（项目属性页面）

– 在项目级别创建链接资源路径变量

– 编辑/转换/删除一个项目的链接资源

? "C/ C+ +项目"视图更名为"项目资源管理器"

? 项目"宏"更名为"构建变量"(Build Variables)

? 更多的项目模板支持

? 命令行对于项目的"创建/导入/构建"命令语法改变

CCSv4：命令的调用由使用一个特定的.jar执行Java来完成

> jre\ bin\ java -jar startup.jar<restOfCommand>

CCSv5：使用"eclipsec.exe"或"eclipse"

Windows ：> eclipsec -nosplash<restOfCommand>

Linux的：> Eclipse -nosplash<restOfCommand>

调试器的变化

? 没有全局（工作区）级的 "调试选项"(Debugger Options)

? 大多数的调试视图支持"钉住"（pin）和"克隆"（clone）

? 调试配置(Debug Configurations)

– 指定在启动调试会话时运行的调试初始化脚本（JavaScript文件）

? 使用DSS初始化目标

? 一个脚本可以在多核的调试环境下初始化多个CPU

? 可以替换启动GEL文件

– 在"程序 /目标/源"标签里能以每一个CPU独立指定设置

? CCSv4的"目标"(Target)菜单被v5的"运行"(Run)菜单所取代

Linux主机支持

? 在以下环境中已测试：

– Ubuntu 10.04的32位

– Ubuntu 10.10的32 / 64位

– SUSE 11 32位

? CCS依赖于一些库（因分布版本而异）

? 并非所有的功能在Linux上都有支持

– 跟踪（Trace）

? 内核跟踪（XDS560T）

? 嵌入式跟踪缓冲（ ETB (Embedded Trace Buffer) ）

? 系统跟踪模块（ STM (System Trace Module) ）

? 请注意，并非所有的仿真器在Linux上都有支持

– SD DSK / EVM板载仿真器，XDS560 PCI不支持

? 大多数USB/ LAN的仿真器都支持

– XDS100，SD510USB/USB+，560v2， BH 560m/BP/LAN

http://processors.wiki.ti.com/index.php/Linux_Host_Support

Linux 开发(目标)

? CCS支持Windows和Linux主机电脑

? 通过集成的GDB调试Linux应用程序

? 通过JTAG调试Linux内核: 更改调试上下文从而在应用程序的调试和内核调试之间切换

多核调试

? 指定一个JavaScript来执行多CPU初始化

– 用于在各个CPU上执行GEL命令，加载程序，运行过去的初始化例程

? 一些设置在相同CPU可见的调试会话之间持续存在

– CCSv4中这一行为由脚本完成，V5中有明确的GUI来控制这种行为。

? 没有"同步模式"(Synchronous Mode )按钮

– 命令可以被发送到动态创建的自定义CPU组

? 调试会话之间保存创建的自定义CPU组

? 状态视图(Status view )在同一视图中显示所有CPU的状态信息（包括路由器（ routers ））

系统分析器

? 在任何时间，观测整个系统的应用程序，操作系统和硬件 把多个内核的软硬件仪器的输出关联到一个全局的时间轴

? 系统的分析器是由两个核心组件构成

? UIA（统一仪表体系结构 - Unified Instrumentation Architecture ）：目标端日志记录

(logging)，运行控制(runtime control)和数据运动(data movement)工具包

? DVT（数据分析和可视化技术 - Data Analysis and Visualization Technology ）：主机端运

行控制，数据采集(data collection)，数据解码(data decoding)，数据分析(data analysis)和数据

可视化(data visulization)工具

项目迁移

? 从CCSv3迁移到CCSv4有一定难度

– 完全不同的环境

– 新项目系统

– 目标配置(Target Configuration)更改

– CCS的整体面目都大不一样

? CCSv4 CCSv5.1迁移会顺利得多

– 环境非常相似

– 项目系统是相同的（的简单的导入）

– 目标配置是相同的

? CCSv3 CCSv5.1迁移

– 加强V3到V5的项目转换向导

– UI的简化将有助于用户缩短学习曲线

– 详细的文档帮助人们更快熟悉v5

? 工作区

– 在v5时使用新的工作区

? 项目

– 一个V4项目导入到V5后会被修改，使其不能再用V4打开

Eclipse概念：工作区（Workspace）

? CCS的主要工作文件夹

? 包含被其定义的所有项目的管理信息

– 创建新项目时所使用的默认地点

? 用户首选项(User preferences)，自定义的透视图(custom perspectives)，

插件的缓存数据(plug-in cache)，等等，都存储在工作区

? 工作区概念不可与CCSv3工作区文件（*. WKS）混淆

? 可维持多个工作区

– 每个CCS实例仅可以同时打开一个工作区

– 相同的工作区不能共享多个CCS的运行实例

– 不建议用户之间共享工作区

资源管理器

? 在首次使用一个新的工作区时，"资源管理器"将显示"欢迎"页面

? 视频介绍CCS入门知识，包含文档链接，例如，支持资源

? 按钮来创建一个新的项目，或导入一个现有的项目到工作区

? 可以随时从"帮助 - >欢迎使用CCS"(Help->Welcome to CCS)返回到资源管理器

Eclipse概念：工作台（workbench）

? "工作台"是指主要CCS 图形界面窗口，

– 相当于在CCS3.x中的"控制窗口"(control window)

? 工作台包含所有用于开发和调试的各种视图(view)与资源工作台（与CCSv3.x比较）

? CCS的3.x版

– 每个调试的CPU只可以拥有一个打开的控制窗口

– 每个控制窗口(Control Window) 之间的信息不能共享

? CCS的4 / 5

– 可以打开的多个工作台窗口（"窗口" - >"新窗口"）（ 'Window->New Window ）

– 每个工作台窗口可以有视觉上的不同（ 视图 ，工具条的位置安排等），但是对应同一个CCS实例中的工作区

? 从一个工作台打开的项目将能在所有的工作台窗口中看到

Eclipse概念：项目(projects)

? 项目映射到文件系统中的目录

? 可以添加或链接文件到项目

– 添加文件到项目

? 复制文件到项目文件夹中

– 链接文件到项目

? 在您的项目中引用该文件

? 文件停留在原来的位置

? CCS3.x的项目只有这个文件管理概念

? 项目一定是在打开或关闭的其中一种状态

– 关闭的项目：

? 仍在工作区中，但它不能由工作台修改

? 关闭的项目资源不会出现在工作台，但资源仍然驻留在本地文件系统

? 关闭的项目需要较少的内存，并不会被频繁的扫描

? 这不同于CCS3.x中，关闭的项目不会出现在CCS3.x的项目视图窗口。

? 项目必须被导入工作区后才可以打开

– CCSv4/5，CCE的项目和传统CCSv3 项目均可导入到工作区中

Eclipse概念：项目(projects)

? 项目映射到文件系统中的目录

? 可以添加或链接文件到项目

– 添加文件到项目

? 复制文件到项目文件夹中

– 链接文件到项目

? 在您的项目中引用该文件

? 文件停留在原来的位置

? CCS3.x的项目只有这个文件管理概念

? 项目一定是在打开或关闭的其中一种状态

– 关闭的项目：

? 仍在工作区中，但它不能由工作台修改

? 关闭的项目资源不会出现在工作台，但资源仍然驻留在本地文件系统

? 关闭的项目需要较少的内存，并不会被频繁的扫描

? 这不同于CCS3.x中，关闭的项目不会出现在CCS3.x的项目视图窗口。

? 项目必须被导入工作区后才可以打开

– CCSv4/5，CCE的项目和传统CCSv3 项目均可导入到工作区中

视图 ：项目资源管理器(Project Explorer)

? 显示所有当前工作区中定义的项目

? 主要是以文件系统的形式来展示项目文件夹中的内容

– 链接文件都标有一个特殊的连接图标

? 可以使用过滤器来隐藏的各种文件类型，以减少在视图混乱

– 默认下会过滤CCS生成的项目文件（.*）

视图：控制台(console)

? 多个上下文 (context)

– 可以显示构建(build)消息或调试(debug)消息（包括CIO），取决于所选定的控制台

– 当一个新的消息产生时上下文会自动切换

? 可以使用"钉" (pin) 功能定住窗口来避免自动切换

– CCS-3.x 中，构建输出，CIO的输出和调试器的消息都有专门的视图，

? 您也可以打开多个控制台窗口

– 比如，一个对应CIO的输出和另一个对应构建消息

单击"调试配置"(Debugger Configuration)链接

? 一个对话框将会出现，显示连接列表

– 选择""Texas Instruments XDS100v1 USB Emulator"

Eclipse概念： 透视图（perspectives）

? 定义工作台窗口内视图的初始设置和布局

? 在概念上类似于CCSv3"工作区"（*. WKS）（虽然可以在工作台上访问到多个透视图，但是同时间内只能展开一个）

? 每个透视图提供了一套完成一个特定任务类型的功能（"CCS Edit"用于项目开发，"CCS Debug"，用于项目调试等）

? 可以创建自定义的透视图

调试：使用观察点(watch points)

? 使用"停止\暂停"(halt\suspend)按钮来停止目标运行

? 打开"断点"视图

– "视图 - >"断点" (View -> Breakpoints)

? 创建一个新的硬件观察点(Hardware Watchpoint)，

? 右键单击观察点，并选择"属性"

– 位置(Location)：GpioDataRegs.GPBTOGGLE.bit.GPIO34、

– 内存(Memory)： Write

视图：断点

? 查看所有可用的断点

? 可以通过CPU将断点分组（多核设备）

? 断点触发时可以指定不同的行动

– 刷新所有的窗口或更新一个特定的视图（取代CCS3.3中的"动画(animate)"）

– 控制性能分析（设置分析停止/恢复点）

– 文件的I / O（CCS3.3的探测点(probe points)）

– 运行GEL表达式

– 设置观察点

– 控制CPU跟踪(trace)（在个别的ARM和DSP器件上）

更多的调试

? 调查其他调试视图（通过"视图"(View)菜单中打开）

– 内存浏览器(Memory Browser)

– 寄存器(Registers)

– 反汇编(Disassembly)

? 设置断点

– 双击源代码行进行设置/清除断点

– 用"断点"(Breakpoints)视图来查看断点列表

– 注 28x 的设备只支持两个硬件断点

? 观察点使用一个硬件断点资源

? 可以使用"调试"(Debug)视图中按钮来进行以下操作：

– 重新启动程序

– 源单步

– 汇编单步

调试器选项

? 许多调试功能都可以通过调试器选项启用/禁用

? 调试会话中"CCS Debug" 透视图 ：

– "工具 - >调试选项 - >通用的调试器选项"(" Tools->Debugger Options->Generic Debugger Options)

? 配置各种调试选项，例如启用/禁用：

– 自动运行到主函数

– 自动连接到硬件目标

– 实时选项（需要硬件支持 例如C2000）

– 加载程序时进行核查

– 等等... ...

? 使用"记住我的设置(Remember My Settings )"选项来保存当前设置，方便未来使用

计数周期 - 性能分析时钟(Profile Clock)

? 性能分析时钟

– 在大多数设备上都有，可用于计数周期

– 在一些目标上，它可用于计数其他事件

? 时钟的启用

– 运行 - >时钟 - >启用 (Run -> Clock -> Enable)

– 时钟现在将显示在状态栏上

? 确认观测"GpioDataRegs.GPBTOGGLE.bit.GPIO34"写入的观察点已经启用

? 点击运行按钮来运行到这个断点

编译器版本

? 每个项目都需要指定使用的编译器版本

– 实际上这是在每一个配置级别上的设置

– i.e.调试版可以使用一个版本，发行版另一个

? 如果你想使用一个新下载的编译器 ，你必须改变你的项目所指定的编译器版本

? CCS将允许您选择本地计算机上能找到的所有编译器，

? 当您通过更新管理器安装在一个新的编译器，CCS会自动获得该编译器的地址

– 然而，你也可以告诉CCS一个版本的编译器的地址

目标配置文件 - 基础知识

? 目标配置文件是定义设备与连接的XML文件（文件扩展名 *. CCXML）

– 等于CCS3.x的配置文件（*. CCS）

? "目标配置(Target Configurations)"的视图是用于管理和维护目标配置文件

? 目标配置编辑器(Target configuration editor)用于创建/修改目标配置文件

? 基本(Basic)选项卡是为了大多数用户使用

? 高级(Advanced)选项卡是为了调整默认属性，初始化脚本，或建立新的板/设备的目标配置

创建目标配置

? 打开"目标配置"(Target Configuration)的视图

– 视图- >目标配置 (View -> Target Configurations)

视图:目标配置

? 您可以轻松地打开，复制和删除目标配置（XML文件）

? 快速启动一个调试会话：右键单击目标配置，并选择"启动选定的配置(Launch Selected Configuration)"

? "启动TI调试器(Launch TI Debugger)"将使用目标配置视图里，[Default]（默认）选项卡中选定的目标配置

– 右键点击文件并选择"设置为默认(Set as Default)"，使其成为默认目标配置文件

– 如果没有项目指定的目标配置文件,"调试激活项目(Debug Active Project)"将使用默认目标配置

视图：GEL文件

? 显示当前的调试会话的所有加载的GEL文件和其当前的状态

? 可行的操作：

– 在编辑器中打开文件

– 刷新（重新加载）文件

– 删除/卸载文件

– 删除/卸载所有文件

– 加载额外的GEL文件

? 新加载的GEL文件会在视图中出现

? 如果加载没有问题，状态将显示成功

版本控制 - 提交(Check In)哪些文件？

? CCS项目文件夹内生成多个文件/文件夹

– .CPROJECT 和.PROJECT是Eclipse项目文件，并应提交

– .CCSPROJECT是CCS的具体项目文件，应提交。

– .settings是一个标准的Eclipse文件夹，其中包含适用于该项目的设置。应提交此文件夹

– .launches是在启动调试会话时生成的目录。它不涉及您的项目的构建，没有必要提交

– 项目配置文件夹的内容（调试/发布） (Debug/Release)不需要进行提交

调试服务器脚本DEBUG SERVER SCRIPTING

调试服务器脚本：介绍

? 什么是调试服务器脚本？

– 调试服务器（调试器）的一套Java API

– 可用于使调试器的任何功能自动化

? 为什么使用它？

– 自动化测试和性能测试

– 支持连接到调试器的所有CPU/内核

? 可以通过提供第三方工具脚本化，如：

– Javascript （通过Rhino ）

– Perl（通过"inline：Java"的模块）

– Python（通过Jython）

– TCL（通过Jacl/ Tclblend）

DSS vs. CCS 脚本

? DSS超越CCScripting的优点：

– 更快（没有GUI的开销，在进程中运行）

– 更强大和更详细的日志(logging)

– 异常(exception)处理

? 脚本可处理DSS APIs抛出的异常

– 直接与调试服务器连接（没有调试器GUI）

? 独立DSS的安装比全整的CCStudio安装所需的空间小很多

– 轻量安装，适用于在实验室机器作自动化操作

– 同时运行多个脚本实例

– 可以从CCS- Eclipse得到互动控制台的支持。

– 更直接的API支持（减少对GEL的依赖）

? 引脚/端口连接的API

? 数据加载/保存的API + 对二进制文件支持的计划

? CCS 文件I / O API（计划中）

? ATK的支持（计划中）

– Linux上的支持

? CCS的脚本是Win32/COM

DSS:更快

? 没有GUI的自动化（没有GUI的开销）

– 没有窗口重新绘制/刷新/更新

? 对一些API开销更少

? 在进程内运行

– CCScripting 在与CCS不同的进程内运行

DSS:基准(Benchmarks)

? 启动（启动调试器）

– CCScripting：?5秒

– DSS的：?1秒

? 程序加载API

– CCScripting比DSS API在程序加载多出?4秒的开销

? 用DSS加载小型的例子*.out文件需要?65毫秒

? 同样的情况CCScripting需要?4秒

? 在程序加载API被反复调用的情况下的叠加效果...

– DSS：加载200次 =?13秒

– CCScripting：加载200次 =?800秒

– DSS节省了?12分钟！

– 在几个个别的脚本上从CCScripting迁移到DSS后增加了1.5倍到3倍的

速度

DSS： 日志(Logging)

? XML格式（易于解析）

– 可以指定在XML文件中引用的XSTL文件

? 配置日志在用Web浏览器打开时，信息显示的方式

? XSTL教程：http://www.w3schools.com/xsl/xsl_intro.asp

? 更多信息

– 序列号

– 时序信息（总和，delta 值等）

– 状态消息

? 日志的CIO输出

DSS：异常处理

? 无GUI（没有弹出对话框窗口等）

? 所有API在遇到错误时都会抛出一个Java异常

– 可以在脚本中处理异常（例如Javascript的try - catch）

DSS：异常处理

? DSS API抛出Java异常

? 您可以脚本中处理异常，使其优雅地关闭/失败或继续

DSS:调试脚本

? DSS附带Rhino调试器，它支持：

– 单步，断点，查看脚本变量...

DSS的示例脚本

// Import the DSS packages into our namespace to save on typing

importPackage(Packages.com.ti.debug.engine.scripting);

importPackage(Packages.com.ti.ccstudio.scripting.environment);

importPackage(Packages.java.lang);

// Modify these variables to match your environment. Use forward slashes

var ccs5InstallDir = "C:/Program Files/Texas Instruments";

var ccs5ScriptingLabDir = "C:/CCSWorkshop/labs/scripting";

// Create our scripting environment object - which is the main entry point

// into any script and the factory for creating other Scriptable Servers and Sessions

var script = ScriptingEnvironment.instance();

// Create a log file in the current directory to log script execution

script.traceBegin(ccs5ScriptingLabDir + "/test.xml", ccs5InstallDir +

"/ccsv5/ccs_base/scripting/examples/DefaultStylesheet.xsl");

// Set trace levels for console and logs

script.traceSetConsoleLevel(TraceLevel.INFO);

script.traceSetFileLevel(TraceLevel.ALL);

// Get the Debug Server and start a Debug Session

debugServer = script.getServer("DebugServer.1");

debugServer.setConfig(ccs5ScriptingLabDir + "/c6416_le_sim.ccxml");

debugSession = debugServer.openSession(".*");

// Load a program

debugSession.memory.loadProgram(ccs5ScriptingLabDir + "/mainapplication.out");

// Run the target

debugSession.target.run();

// All done

debugServer.stop();

script.traceWrite("TEST SUCCEEDED!");

// Stop logging and exit.

script.traceEnd();

java.lang.System.exit(0);

DSS的示例：loadti

? DSS的JavaScript示例，作为一个命令行程序，它可以在TI的目标板上加载/运行可执行文件

*. Out

? DSS的例子，但是能适用于任何程序和目标

? 高易用性和缺乏对GUI依赖，使其成为一个有吸引力的自动化工具，用于快速完整性测试

(Sanity Tests)和批处理回归(Batch Regressions)测试

? 一些支持的基本功能包括：

– C I/O标准输出可以被发送到控制台和脚本日志

– 生成详细的运行日志

– 执行基本的应用程序基准测试（通过使用性能分析的时钟）

– 把参数传到主函数

– 从主机到目标内存，载入/保存数据（反之亦然）

– 复位目标

? 关于loadti上的更多细节，请参阅"README.TXT"

– <安装目录>\ccsv5\ccs_base\scripting\examples\loadti

使用loadti: 运行"BlinkingLED.out?

? 关闭所有正在运行的CCS

? 打开一个DOS命令窗口

? 浏览到"BlinkingLED.out"程序的位置

– Location: <WORKSPACE>\BlinkingLED\F2806x_FLASH\BlinkingLED.out

– > set PATH=%PATH%;<CCS INSTALL DIR>\ccsv5\ccs_base\scripting\examples\loadti

– 您需要把<CCS_INSTALL_DIR>换成您的安装位置

– > loadti –h (for console help)

– > loadti –c ..\TMS320F28069.ccxml BlinkingLED.out

? 加载将需要一些时间，因为需要擦除/编程闪存

当你可以看到LD2闪烁时，程序已在运行

? 按CTRL- C中止

DSS: 资源

? DSS MediaWiki的文档（推荐阅读）：

? http://processors.wiki.ti.com/index.php/Debug_Server_Scripting

? DSS API的文档：

? <INSTALL DIR>\ccsv5\ccs_base\scripting\docs\GettingStarted.htm

? 命令行项目管理工具的MediaWiki文档：

? http://processors.wiki.ti.com/index.php/Projects_-_Command_Line_Build/Create

脚本控制台 (Scripting Console)

? CCS的命令行操作

? 视图 - >脚本控制台 View->Scripting Console

? 按TAB查看命令列表

– 按TAB使用部分输入的命令自动完成功能

? 命令相关的文档

– JS：> help <COMMAND>

? JavaScript和shell可以访问到所有的DSS API

? 从控制台运行DSS的脚本

? 创建自己的自定义命令

– 在*. js文件中创建一个JavaScript函数

– 加载自定义的JavaScript文件

? loadJSFile <full路径>/ myCustomConsoleCmd.js

? 可选的第二个参数(布尔)，将决定是否自动加载脚本

– 该函数现在可以从脚本控制台内用其名称调用

脚本控制台

? 视图 - >脚本控制台 View->Scripting Console

? 按TAB查看命令列表

– 按TAB使用部分输入的命

令自动完成功能

? 命令相关的文档

– JS：> help <COMMAND>

脚本控制台

? 脚本控制台和GEL都可用于自动化

? GEL仅限于一个激活的调试会话并且（多数情况）只适用于一个调试上下文

? 脚本控制台随时都可以使用（虽然某些命令在没有激活的调试会话的情况下将无法正常工作）

? 脚本控制台和GEL都可以为自定义"脚本"添加菜单

– GEL：hotmenu<function>

– 脚本控制台：hotmenu.addJSFunction

脚本控制台

// Add entries to the 'Scripts' menu

hotmenu.addJSFunction("Launch TCI6488 Simulator, Little Endian", "tci6488_le_sim()");

hotmenu.addJSFunction("Launch TCI6488 Simulator, Big Endian", "tci6488_be_sim()");

// Path to folder with target setup ccxml files

var setupConfigFileFolder = "C:/Documents and Settings/login/user/CCSTargetConfigurations";

// configure for a TCI6488 Symmetric Simulator, Little Endian

function tci6488_le_sim()

{

ds.setConfig(setupConfigFileFolder + "/tci6488_le_sim.ccxml");

debugSessionCPU1 = ds.openSession("*", "C64+_0");

debugSessionCPU2 = ds.openSession("*", "C64+_1");

debugSessionCPU3 = ds.openSession("*", "C64+_2");

}

Eclipse插件 - 基本

? CCSv5基于Eclipse，所以用户拥有巨大的第三方插件的选择

– http://marketplace.eclipse.org/

? CCSv5基于Eclipse3.7

– 为了最佳的兼容性，请使用这个版本对应的插件

Eclipse插件 - 安装

? 使用Eclipse更新管理器(Update Manager )

– "帮助 - >安装新软件"(Help -> Install New Software)来进行

更新安装（指定的远程站点（URL）或本地站点（目录）

? 拖放

– 许多插件是压缩归档，可以直接下载并复制到: \ ccsv5\eclipse\dropins文件夹

TI嵌入式处理器的集成开发环境(IDE)包括调试器，编译器，编辑器，DSP/BIOS操作系统等等,现在最新的CCSv5 IDE基于Eclipse开源软件框架(v4+)并融合了TI设备的支持与功能，适用于windows和linux环境下开发，CCSv5是基于原版的 Eclipse，并且TI将直接向开源社区提交改进，用户可以随意的将各种其他厂商的Eclipse插件或TI的工具拖放到现有的Eclipse环境，用户可以享受到Eclipse中所有最新的改进所带来的便利，CCSv5(CCSv5.1 CCSv5.2 CCSv5.0)还集成额外的工具，包括 操作系统的应用程序开发工具（Linux操作系统，Android的...）以及 代码分析、源代码控制等。本文介绍了TI的IDE集成开发环境CCSv5的基本特点，相对于CCSv3.3和CCSv4的改进和提升，其Eclipse各种视图环境、Target configuration的和debug session视图方法和GEL、DSS脚本工具的使用方法。

文章录入：admin 责任编辑：admin

- 上一篇文章： TI DSP/BIOS及CCS使用经验
- 下一篇文章： CCS4.2和CSL

【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】

最新热点 |  | 最新推荐 |  | 相关文章
|  | 没有相关文章

网友评论：（只显示最新10条。评论内容只代表网友观点，与本站立场无关！）

| 站长：61IC 湘ICP备05002478号 |